<!doctype html>



  


<html class="theme-next pisces use-motion">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>



<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />












  
  
  <link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />




  
  
  
  

  
    
    
  

  

  

  

  

  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
  






<link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css" />


  <meta name="keywords" content="王雨峰, 博客" />








  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1" />






<meta name="description" content="标题中的语言指「生活中用的语言」，不是编程语言。
下面想说的话都是一时兴起，有思考不完善的地方，还望探讨。
一些随感。
##起因今天在骑车途径垡头，路旁有很多五金店，其中一个招牌写着「批发肯德基门」。一时觉得莫名其妙，想明白是啥意思后觉得莫名的喜感。肯德基门，就是那种对开的门呗。
我回顾了一下大脑思考的过程：

我将这句话分成了三个部分「批发」、「肯德基」、「门」
首先，我在大脑中搜索「批发」这个">
<meta property="og:type" content="article">
<meta property="og:title" content="语言是分布式系统吗？">
<meta property="og:url" content="http://wangyufeng.org/2015/08/25/yu-yan-shi-fen-bu-shi-xi-tong/index.html">
<meta property="og:site_name" content="王雨峰的博客">
<meta property="og:description" content="标题中的语言指「生活中用的语言」，不是编程语言。
下面想说的话都是一时兴起，有思考不完善的地方，还望探讨。
一些随感。
##起因今天在骑车途径垡头，路旁有很多五金店，其中一个招牌写着「批发肯德基门」。一时觉得莫名其妙，想明白是啥意思后觉得莫名的喜感。肯德基门，就是那种对开的门呗。
我回顾了一下大脑思考的过程：

我将这句话分成了三个部分「批发」、「肯德基」、「门」
首先，我在大脑中搜索「批发」这个">
<meta property="og:image" content="http://7xku3h.com1.z0.glb.clouddn.com/15-8-25/28696869.jpg">
<meta property="og:image" content="http://7xku3h.com1.z0.glb.clouddn.com/15-8-25/24990293.jpg">
<meta property="og:updated_time" content="2015-08-25T10:05:14.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="语言是分布式系统吗？">
<meta name="twitter:description" content="标题中的语言指「生活中用的语言」，不是编程语言。
下面想说的话都是一时兴起，有思考不完善的地方，还望探讨。
一些随感。
##起因今天在骑车途径垡头，路旁有很多五金店，其中一个招牌写着「批发肯德基门」。一时觉得莫名其妙，想明白是啥意思后觉得莫名的喜感。肯德基门，就是那种对开的门呗。
我回顾了一下大脑思考的过程：

我将这句话分成了三个部分「批发」、「肯德基」、「门」
首先，我在大脑中搜索「批发」这个">
<meta name="twitter:image" content="http://7xku3h.com1.z0.glb.clouddn.com/15-8-25/28696869.jpg">



<script type="text/javascript" id="hexo.configuration">
  var NexT = window.NexT || {};
  var CONFIG = {
    scheme: 'Pisces',
    sidebar: {"position":"left","display":"post"},
    fancybox: true,
    motion: true,
    duoshuo: {
      userId: 0,
      author: '博主'
    }
  };
</script>




  <link rel="canonical" href="http://wangyufeng.org/2015/08/25/yu-yan-shi-fen-bu-shi-xi-tong/"/>

  <title> 语言是分布式系统吗？ | 王雨峰的博客 </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  










  
  
    
  

  <div class="container one-collumn sidebar-position-left page-post-detail ">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-meta ">
  

  <div class="custom-logo-site-title">
    <a href="/"  class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <span class="site-title">王雨峰的博客</span>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>
  <p class="site-subtitle">随便写点东西，为互联网贡献一些比特~</p>
</div>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/about" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
            
            关于
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      

      
    </ul>
  

  
</nav>

 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  
  

  
  
  

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">
            
            
              
                语言是分布式系统吗？
              
            
          </h1>
        

        <div class="post-meta">
          <span class="post-time">
            <span class="post-meta-item-icon">
              <i class="fa fa-calendar-o"></i>
            </span>
            <span class="post-meta-item-text">发表于</span>
            <time itemprop="dateCreated" datetime="2015-08-25T15:16:49+08:00" content="2015-08-25">
              2015-08-25
            </time>
          </span>

          
            <span class="post-category" >
              &nbsp; | &nbsp;
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
              
                <span itemprop="about" itemscope itemtype="https://schema.org/Thing">
                  <a href="/categories/随感/" itemprop="url" rel="index">
                    <span itemprop="name">随感</span>
                  </a>
                </span>

                
                

              
            </span>
          

          
            
          

          

          
          

          
        </div>
      </header>
    


    <div class="post-body" itemprop="articleBody">

      
      

      
        <p><em>标题中的语言指「生活中用的语言」，不是编程语言。</em></p>
<p>下面想说的话都是一时兴起，有思考不完善的地方，还望探讨。</p>
<p>一些随感。</p>
<p>##起因<br>今天在骑车途径垡头，路旁有很多五金店，其中一个招牌写着「批发肯德基门」。一时觉得莫名其妙，想明白是啥意思后觉得莫名的喜感。肯德基门，就是那种对开的门呗。</p>
<p>我回顾了一下大脑思考的过程：</p>
<ol>
<li>我将这句话分成了三个部分「批发」、「肯德基」、「门」</li>
<li>首先，我在<strong>大脑中搜索</strong>「批发」这个词的意义，我意识到「批发」意味着大量出货，价格便宜；再搜索「肯德基」和「门」，因为我吃过肯德基，所以我知道「肯德基的门」是什么东西。</li>
<li>然后，将搜索到的意义代回到整个句子，乃至整个语境中。这里的语境，是指这个招牌身处五金店密布的地方，也可以理解为上下文。</li>
<li>现在，我明确理解了这个招牌想要表达的意义。</li>
</ol>
<p>注意，这丰富的意义是我的大脑，对这简单的六个字进行加工后得出的结果。意义中包含的信息量是非常大的。<br>比如我意识到了：</p>
<ul>
<li>这家店做肯德基的那种门（我在脑海中脑补，对开门，厚重，只能推或者拉）</li>
<li>可以批发，便宜，有价格的优势</li>
<li>如果我需要这种门的话，我就可以进入这家店和老板洽谈</li>
<li>424宿舍需要这种门吗？不需要。所以我走了</li>
</ul>
<p>只是开玩笑，我当时肯定想不了这么多。但我相信我的潜意识做了这些工作。</p>
<p>而在招牌上，有的仅仅是这6个汉字。</p>
<p>可以想到，任何一个能正常思考的人类，路过这块招牌时，都能通过思维活动，取得丰富的意义。这家店的老板，通过一块简单的招牌，向路人展现了丰富的信息量。</p>
<p>为什么说丰富？比如有一块招牌上书「蒋鹿纽捌痪目」，这必然信息量极低。因为这是从GB2312字符集中随机选出的6个汉字。</p>
<p>##进一步<br>进一步可以想到，<strong>这种「大脑对简单信息强大的加工处理功能」是人类文明的基石</strong>。</p>
<p>而这种能力，关键在于人类的大脑拥有</p>
<ul>
<li>强大的储存能力(相对)</li>
<li>强大的获取「上下文」（或「语境」）的能力</li>
</ul>
<p>在这里，我们做一个简化，把这两种能力合并，即人类的大脑拥有强大的</p>
<ul>
<li>依托自身<strong>储存的信息</strong>和<strong>运算能力</strong>，对信息进行处理和展开的能力</li>
</ul>
<p>考虑到我们人类有如此如此多，而除了极少数情况，人类的大脑的这一能力水平都是相近的。这一致性是由基因决定的。而地球上有几十亿颗大脑，他们对语言这一信息系统有着强大的储存、处理、加工、传播的能力。</p>
<p>像不像分布式系统？</p>
<p>##什么是分布式系统？<br>我也不知道。没系统学过。我试着举几个例子，表达我对分布式的理解：</p>
<ul>
<li>投资</li>
<li>税收</li>
<li>藏富于民</li>
<li>个体权利</li>
<li>版本管理软件</li>
</ul>
<p>注：我讨论广义的<em>分布式系统</em>，而不是抠工程上的定义。</p>
<p>####投资</p>
<blockquote>
<p>鸡蛋不要放在同一个篮子里</p>
</blockquote>
<p>一句耳熟能详的话。</p>
<p>####税收<br>比如个人所得税，国家从每个个体都收一些税，总量很大。</p>
<p>####藏富于民</p>
<blockquote>
<p>“百姓足，君孰与不足；百姓不足，君孰与足”</p>
</blockquote>
<p>####个体权利</p>
<ul>
<li>分布式的反面：斯大林治下的苏联</li>
<li>分布式：乌托邦</li>
</ul>
<p>###版本管理软件<br>上面都是瞎扯，终于说点有用的了。</p>
<p>这是分布式的反面，或者叫集中式：（图1）<br><img src="http://7xku3h.com1.z0.glb.clouddn.com/15-8-25/28696869.jpg" alt=""></p>
<p>分布式大概就是这样：（图2）<br><img src="http://7xku3h.com1.z0.glb.clouddn.com/15-8-25/24990293.jpg" alt=""></p>
<p>什么是版本管理工具呢？能像时光机一样，任意回到你的代码或者文件的之前版本，也为很多人同时干一个项目提供了方便。</p>
<p>SVN是一种比较古老的版本管理技术，这项技术的关键在于它需要一个中央服务器。如图1。也就是所有人的数据都得传到这个中央服务器中，一旦这台服务器挂了，所有人就都可以休息了。</p>
<p>在计算机发展的早期，工作的方式也是集中式。</p>
<blockquote>
<p>举例：1970年代，一家美国的大银行需要引入计算机系统，那么他们就找IBM公司，购入一台大型机+20台终端。这些终端是分配到职员手里的，但是终端没什么计算能力，基本上只有一个显示器。这些终端接入到同一台大型机中，这台大型机用给CPU「分时」的手段，为每台终端轮流分配计算时间（速度非常快）。因为每个人的工作量都不大，也就处理处理文字什么的，所以根本感觉不出来自己是用了大型机的全部计算能力，还是1/20的计算能力。</p>
</blockquote>
<p>八卦：</p>
<blockquote>
<p>随着历史的前进，出现了一个名为Git的分布式版本管理工具。Git是怎么来的呢？</p>
<p>最早，Linux的代码都是由Linux之父Linus一个人手工处理的。全世界的程序员提交补丁，Linus手工合并。后来工作量太大了，团队撑不住了，就找了家公司合作，免费用那家公司的版本管理工具，叫做BitKeeper。Linux嘛，大型工程，代码多，开发人员多，结构复杂，所以一般的工具还真没法胜任，说明这家公司有两把刷子。</p>
<p>矛盾随之而来。BitKeeper是商业软件（虽然免费给Linux社区使用），而Linux可是自由软件啊。一国两制？Linux社区里有人矫情，就是不干，充分说明他们没能领悟到邓公的智慧。最终他们不欢而散。那Linus就想了，那版本管理怎么办啊？</p>
<p>Linus用两周时间，用C语言自己写了个版本管理工具，起名叫Git。一个月后Linux的源码就全部迁移到Git上了。</p>
<p>大家感受下。</p>
</blockquote>
<p>Git的设计思路就是分布式。如上边的图2。</p>
<p>也就是说把所有的鸡蛋平摊到所有的篮子里。而且鸡蛋还是复制出来的。也就是说，一个20人的团队，就算19个人的电脑炸了，工作还能继续进行，数据不会丢。</p>
<p>当然了，为何总览古今中外，国家或文明的体制都是“集中式”呢(民主国家也得有个头头)？毕竟分布式不是那么好使。实际上，在Git的使用中，往往也有一个节点充当中央服务器。当然这只是为了方便，没了这中央服务器大家一样用。Github就是一个这样的中央服务器。</p>
<p>##接着说语言<br>现在就好理解了。</p>
<p>在这里，我将语言这一系统类比于分布式系统。暂且不考虑语言的差异，就笼统地说「语言」。</p>
<p>语言的知识储存于每一个地球上人类的大脑中，例如有一天发生了世界大战，全世界只活下来了一个人，那么我们可以认为这个人的大脑中储存了一份关于人类语言的知识。他可以再跟…等等，遇到一个BUG。</p>
<p>全世界只活下来了两个人，一男一女，我们叫他们亚当和夏娃。那么他们可以再跟自己的后代们教授语言的知识。这和Git的思路是一致的。</p>
<p>那么，语言这一系统存在中央服务器吗？我认为是存在的，但跟Git的中央服务器一样，只是为了方便和保险。比如<em>辞海</em>、<em>牛津大词典</em>等。但这种中央服务器是有缺陷的，它只能记录文字文化，而不能记录口语文化，更不能记录人类大脑中那最根本的「意义」。</p>
<p>分布式的系统中，除了储存，对信息的处理也是关键。因为分布式系统中的每个节点都有一定的计算能力，所以这就降低了信息传输的负担。只需很小的信道，传输很少的信息，令节点自行处理后就可具有巨大的效果。比如说「批发肯德基门」，我不会算这个的信息量，但应该没几个比特。这些信息进入到我的大脑后，我的大脑对这简短的信息进行「本地」处理，效果拔群。</p>
<p>计算信息量的公式大概长这样吧，也许吧。像不像熵的计算？我大物学这么渣，没好意思跟老师问-_-<br>$$<br>H = k * log(N)<br>$$</p>
<p>##编码和解码</p>
<p>还有一点。我大脑中所理解到的「丰富的意义」，正是店老板大脑中(近似)所想的。店老板的大脑通过这六个字，将他大脑中丰富的信息量传送到了我的大脑中。为什么？因为我们的大脑结构相似、所储存的内容(近似、在某种程度上)相似。也就意味着：思考原理近似、思考方式近似。比如说，我对我书桌说话，他解码不了我说的话。人类多多少少都能。</p>
<p>这大概就解释了为什么误解无处不在。毕竟我们大脑中所储存的「前提」不同，那么传输信息时、也即编码信息时，压缩量如此巨大，所损失的信息也是很多的。那么前提（也就是所谓的三观）不同的话，对信息进行解码的结果也就不同。大脑是编码器，也是解码器。信息的冗余度，决定了这编码和解码的容错性。冗余度越高，编码解码相差的后果就越轻微。</p>
<p>###举例1：信息压缩量太大（冗余太少）</p>
<p>我：我在北工大上学。</p>
<p>你：北京工业大学？北方工业大学？</p>
<p>###举例2：解码器不同。<br>我：听说美国某地区给女性预留了更宽的停车位。</p>
<p>甲：噢，挺好啊，造福女司机。</p>
<p>乙：你性别歧视是不是？</p>
<p>###举例3：解码时对编码方式的换位思考<br>场景1：长辈给我发来一个【微笑】表情</p>
<p>场景2：同龄人给我发来一个【微笑】表情</p>
<hr>
<p>把语言比作分布式系统，也就是说每个节点都承担了编码和解码的功能（这需要较大的计算量），而传输的效率很低，口语估计一秒也就传几个比特，所以计算量就更大了（巨大的压缩比）。</p>
<p>##模因？<br>模因也译作迷因，英文「Meme」.很有意思，我说不清，自行百度~</p>
<p>如果把语言视为模因，通俗地说把语言看成是「活的」，那毫无疑问语言选择了一种非常高明的生存方式————分布式。分布在(寄生在)人类的大脑中，并让人类本身在使用自己的过程中取得好处（人类的文明建立于语言之上）。而且只要还剩一个人类，甚至还剩一本「辞海」「牛津大词典」之类的，自己就不算灭绝。</p>
<p>想到《三体》和《EVA》的剧情了吗？</p>
<p>##小结</p>
<ul>
<li>生活中所使用的自然语言系统具有分布式系统的特征</li>
<li>大脑就是这个分布式系统中的节点</li>
<li>节点和节点之间的通讯手段就是语言（书面、口语）</li>
<li>大脑对信息的处理能力远强大于计算机</li>
<li>大脑对信息的储存能力远落后于计算机</li>
</ul>
<p>另外我有了一个模糊的想法：不论是编程、计算机技术、科学、人类文明本身乃至这个世界最本质的东西，都可以在某种层次和某种角度中理解为「信息的编码、传输和解码」。那么此时绕不开的就是意义。到底是先有意义还是先有信息？大概又是一个鸡生蛋的问题。</p>
<p>换个角度看鸡生蛋的问题，也许只是基因在周期性复制而已。那最早可复制的基因又是从哪来的呢？从随机中来？从意义中来？从信息中来？</p>
<p>太初有道，道与谁同在？</p>

      
    </div>

    <div>
      
        

      
    </div>

    <div>
      
        

      
    </div>

    <footer class="post-footer">
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2015/08/23/chong-xin-bu-shu-hexo/" rel="next" title="将博客同步发布到天朝和美帝">
                <i class="fa fa-chevron-left"></i> 将博客同步发布到天朝和美帝
              </a>
            
          </div>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2015/09/05/tools-for-programming/" rel="prev" title="计算机专业大一新生指南(之一)">
                计算机专业大一新生指南(之一) <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          
  <div class="comments" id="comments">
    
  </div>


        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" >
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview sidebar-panel ">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" itemprop="image"
               src="/images/avatar.gif"
               alt="Alan" />
          <p class="site-author-name" itemprop="name">Alan</p>
          <p class="site-description motion-element" itemprop="description">Alan Wang's personal blog.</p>
        </div>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">57</span>
              <span class="site-state-item-name">日志</span>
            </a>
          </div>

          
            <div class="site-state-item site-state-categories">
              
                <span class="site-state-item-count">9</span>
                <span class="site-state-item-name">分类</span>
              
            </div>
          

          
            <div class="site-state-item site-state-tags">
              
                <span class="site-state-item-count">4</span>
                <span class="site-state-item-name">标签</span>
              
            </div>
          

        </nav>

        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        
        

      </section>

      
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">
            
              
            
            
              <p class="post-toc-empty">此文章未包含目录</p>
            
          </div>
        </section>
      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright" >
  
  &copy; 
  <span itemprop="copyrightYear">2016</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Alan</span>
</div>

<div class="powered-by">
  Powered by <a class="theme-link" href="https://hexo.io">Hexo</a> 
</div>

<div class="theme-info">
  主题 -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
    NexT.Pisces
  </a>
</div>

        

        
      </div>
    </footer>

    <div class="back-to-top">
      <i class="fa fa-arrow-up"></i>
    </div>
  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  



  
  <script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script>

  
  <script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  
  <script type="text/javascript" src="/vendors/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.0.1"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.0.1"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.0.1"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.0.1"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.0.1"></script>



  



  




  
  

  

  

  

</body>
</html>
